You do not need such setting at all. The default (no level trigger, no Level, no Tap, no Invert) will do it's job as is.
How does it work?
State A)
When you press the key the state actuator to State B gets activated. The state changes to State B)
State B)
When you release the key ... nothing happens.
When you press the key the state actuator to State A gets activated. The state changes to State A)
What happens with Tap?
Tap means that the next frame the sensor evaluates False even if the measured event is still present (Tap makes the sensor lie). Evaluating False results in a deactivation of the actuators. The state actuator runs one frame only ... and ignores deactivation completely.
Therefore it works the same way as without Tap.
What happens with Level?
Level means the sensor triggers the controller on state change (additionally to the evaluation changes true/false false/true).
This is problematic. When you press the key it is unlikely you release it within the 1/60s. This means when entering a state the sensor will trigger the controller (with true) and activate the state actuator which switches to the other state.
This way you get constant state changes until you release the key. So you are playing random generator. If that is you goal ... well done. If not ... better disable Level.
What happens with True Level Triggering?
This makes the sensor triggering the controllers when evaluating True all the time. This forces the actuators to get activated as long as the key is pressed. This results in constant state switching.
In difference to Level, you can delay the switching by setting the Frequency parameter (Freq:) to a value greater than zero.
What happens with False Level Triggering?
This makes the sensor triggering the controllers when evaluating False all the time. This forces the actuators to get deactivated as long as the key is not pressed. As deactivation gets ignored .. it just wastes some processing time.
Usually this is not necessary.