Поскольку вы добавили тег 'performance', я собираюсь перейти с переключателем.
Да, вам придется изменить случаи, когда вы переименовываете / добавляете / удаляете что-либо в перечислении.Ну, это очень плохо тогда.Любой вариант Enum.Parse / TryParse использует много странного кода и некоторого отражения, просто взгляните внутрь функции с помощью ILSpy или чего-то подобного.Кроме того, существует проблема принятия "-12354" и даже списка допустимых имен, разделенных запятыми (в результате чего все они объединяются в ORed), даже если перечисление не имеет атрибута [Flags].
В качестве альтернативы вы можете создать словарь, который переводит имена перечислений в значения.На самом деле он должен быть быстрее, чем переключатель, потому что переключатель строк также проходит через словарь, но вы сохраняете фактическую часть переключателя.
Очевидно, что оба способа обходятся в несколько дороже, чем enum.parse и варианты;стоит ли это до вас , так как из всех нас только у вас достаточно знаний о проекте, чтобы компромисс между временем выполнения и кодированием.