Когда я начинал программировать на Java, тот факт, что операторы switch не принимают строки, расстраивал меня. Затем, используя Enums, я понял преимущества, которые вы получаете с ними, вместо того, чтобы передавать необработанные значения - безопасность типов (что упрощает рефакторинг), а также ясность для других разработчиков.
Я изо всех сил пытаюсь придумать ситуацию, когда с SE7 я теперь решу использовать переключатель со строками в качестве входов, а не Enums. Если они реализованы с помощью переключения целых строк (например, вместо частичных или регулярных выражений), кажется, что у кода меньше причин для изменения кода.
А с инструментами IDE и соотношением кодирования для чтения и записи, я был бы намного счастливее автоматически генерировать дополнительный Enum, чем передавать строковые значения.
Какую пользу они приносят нам как программистам? Меньше котельной плиты?
Не похоже, что язык кричал об этой функции. Хотя, может быть, есть сценарий использования, который я пропускаю.