When I was starting to programme in Java, the fact that switch statements didn't take strings frustrated me. Then on using Enums, I realised the benefits that you get with them rather than passing around raw values — type safety (which brings easier refactoring) & also clarity to other developers.
I'm struggling to think of a situation where with SE7 I'll now decide to use a switch with strings as inputs rather than Enums. If they are implemented via switching on whole strings (e.g. rather than partial or regex matches), it doesn't seem to offer less reason for the code to change.
And with IDE tools and the read-write ratio of coding, I'd be much happier auto-generating an extra Enum than passing around string values.
What benefit do they bring to us as programmers? Less boiler-plate?
It doesn't feel like the language was crying-out for this feature. Though maybe there's a use-case I'm overlooking.