Зависит от того, что вы подразумеваете под «я хочу« привет »».
Если вы хотите сказать, что хотите получить значение, вы можете получить его, применив int, как говорили другие.
Приведение числового литерала к типу enum обычно бессмысленно - если вы знаете, какое значение вы ожидаете, вы можете использовать имя. Таким образом, перечисление может измениться, не нарушая ваш код. Я предполагаю, что возможно что-то действительно странное происходит, когда кто-то создал перечисление и задокументировал, что означает «3», но не то, какое значение перечисления это. Но тогда вы захотите исправить API.
Преобразование целочисленного значения, известного во время выполнения, в enum может быть полезным, если вы сериализовали данные. Пока вы знаете, что он находится в диапазоне перечисления, результат определен.
Если вы имеете в виду, что хотите строку «привет», то ее не может быть. В отличие от Java, в C ++ имена значений в перечисляемых типах существуют только во время компиляции, а не во время выполнения и отображаются только в одном направлении.