Покопался в коде и нашел, как там вытаскиваются имена из энума. Это решается не при помощи языковых конструкций, а довольно грубым хаком, а именно расковыриванием значения макроса __PRETTY_FUNCTION__ (__FUNCSIG__ в Visual Studio), который мало того, что является не частью языка, а расширением некторых компиляторов, так еще и никак не стандартизирован.
В итоге в коде появляются магические константы, меняющиеся в зависимости от компилятора: