If you thought I cared about mutual exclusion, then clearly I mislead you in my other posts. From my first response to MF, I can see how you could have made false assumptions about what I meant, but in my second post I pointed out that an if-else tree is inherently less efficient than a jump table for states that have many transitions, so I'm not sure how you could possibly have been mislead.
If you think about an if-else tree that does not enforce mutual exclusion analytically, in terms of states and transitions, you would not be describing a single state with many transitions, you'd be describing multiple states with multiple transitions. Some of those states might be unreachable due to circumstance, or even have no transitions whatsoever (consider: if(false){...} for example).
I could just as well argue that the mutual exclusion rule is a product of the way jump tables work, because the switch/case construct was designed as an aide for the compiler. The rules which apply to its manifestation in the code layer are a product of the way it is implemented in the assembly/bytecode layer.
Any decision of the compiler to replace a switch/case construct with if-else-style assembly/bytecode, and any decision of the compiler to replace an if-else tree construct with a jump table is an optimization, which is not something you can rely on in any condition where you care that there is a difference.