Are you sure it was C++? Just in case: in November I published an article on the similar topic, but in .NET:
Enumeration Types do not Enumerate! Working around .NET and Language Limitations[
^].
I don't thing enumeration type can be extended. The approach is to wrap it in a class using generics and reflection. I don't know how to do it in C++ with templates and RTTI, as RTTI does not have the power of .NET reflection. If you find the article on the topic for C++, will you please notify me (by adding comment to this post)?
Sorry if this is not it.
—SA