Я нахожу вариант переключателя ужасным, так как вам придется изменять переключатель каждый раз, когда вы также меняете перечисление.
Мне нравится использовать TryParse, принадлежащий вашему перечислению.Таким образом, вы можете использовать его следующим образом:
string colorString = .....
colorEnum color;
colorEnum.TryParse(colorString, out color);
Или, если вам не важен регистр строки
colorEnum.TryParse(colorString, true, out color);
Возвращаемое значение TryParse
равно true, если строка быладопустимое перечисление, false, если нет.