Effectively, the break at the end of a case is optional, and the code will just continue in the next case alternative; this may even be useful in some situations, avoiding to duplicate code.
However it is widely considered as bad practice to fall from a specific case alternative to the default alternative or to omit the break at the end of the last case of a switch; this is the reason of the warning emitted here.
This warning is emitted as it is quite current that a forgotten break, at the end of the last case of a switch, if additional cases are subsequently added will, by error, fall down into the added alternative.
In the example given what is really needed is having a break before the default; suppressing the default is a bad idea that only works because the default alternative is empty. Furthermore static code analyzers will likely consider an error to have a break without a default, so the inner switch may also need a default alternative, that, as Richard states, may be placed anywhere in the switch body (although it is customary to place it either at end or at beginning of the switch).