How to choose the value of state width of Plonk with lookup?

I noticed that it seems the original Plonk paper introduced that there were two extensions with state width = 3 or 4 (as described in proof_system_info_v1.0/README.md at master · matter-labs/proof_system_info_v1.0 · GitHub). I recently reviewed some code and they set the state width = 5 and set the verification key as follows.

uint256 constant STATE_WIDTH = 5;

    struct VerificationKey {
        uint128 domain_size;
        uint128 num_inputs;
        PairingsBn254.Fr omega;
        PairingsBn254.G1Point[STATE_WIDTH + 2 + 2 + 2] selector_commitments;
        PairingsBn254.G1Point[STATE_WIDTH] permutation_commitments;
        PairingsBn254.G1Point[STATE_WIDTH + 1] tables_commitments;
        PairingsBn254.G2Point g2_x;
    }

I’m thinking whether setting those parameters are legit or not? Is the state width must be fixed to 3 or 4?