I do think that all-caps is increasingly out of fashion with enums these days; it was only ever a hang over from #defined constant values. (Though Google does, I see, allow both kEnumName and ENUM_NAME in their coding style guidelines).

Also, I do prefer to name enums as a rule. Where some people would anonymous enums to define constants, I generally use static consts.

And I have come across the following form quite a bit:

enum Prime { primeFirst = 2, primeSecond = 3, primeThird = 5 };

or even

enum EPrime { ePrimeFirst = 2, ePrimeSecond = 3, ePrimeThird = 5 };

(Giving every enum its own namespace would clutter up the output generated by Doxygen; using this approach means the namespace list provided by Doxygen will be just the big, meaningful namespaces. I have yet to try Docygen with new-style enum classes.)

I do think that all-caps is increasingly out of fashion with enums these days; it was only ever a hang over from #defined constant values.

I use all capital letters that underline that they are fixed constant. Names with non-capital letters have some meaning of variability.

So there is no problem whether these names are defined through an enum or are macro definitions.

I have an opinion that the best names will be FIRST_PRIME_NUMBER, SECOND_PRIME_NUMBER and THIRD_PRIME_NUMBER.
To use simply First, Second and Third or P1, P2 and P3 or PRIME1, PRIME2 and PRIME3 is not a good idea.