Enum to string is a one-line expression in Circle:
https://godbolt.org/z/93f5o77zv
Circle has dozens of special traits for accessing useful stuff about types, packs, etc. Don't need to overengineer such a simple thing.
There is also this approach - https://github.com/Neargye/magic_enum
the trick (relyiong __FUNCTION__ like macros/(funcs?)) is here - https://github.com/Neargye/magic_enum/blob/master/include/ma...
and https://github.com/Neargye/magic_enum/blob/master/include/ma...
What’s wrong with an array
Related topic: standardizing reflection in c++. https://youtu.be/ARxj3dfF_h0 https://en.cppreference.com/w/cpp/keyword/reflexpr