Can't put a block around several cases, so sswitch is incompatible to
Duffs device.

The to-be-switched value is always copied - there is no automatic deduction for lvalues
such that they would use references and that only rvalues would be copied

On the goodness sides, sswitch can use native break keywords with the expected semantics, works with any type (not just strings) and also supports fall-through like the built-in switch.
Here is how it can be used.

Notice that since we insert extra braces between each case label (to prevent the code in between to be executed if we haven't hit a label yet), we can't use a plain "default:" at the end, as would be desired by me.
We can jump inside if we want