I have a comprehensive solution explained in my CodeProject article:
Human-readable Enumeration Meta-data[
^].
The solution is based on .NET attributes. You can have separate attributes for each enumeration member each giving it a human readable name, which is trivial, because this solution is not globalized, so it cannot be localized. A more advanced solution is using the attributes redirecting to the resources embedded in the assembly, something which does not use any sting constants in the code (which is very important for support) and globalized in first place, that is, ready for localization. I provided both approaches in my article.
See also other works referenced in the section "Other Approaches" and reference to my previous article on enumeration problem.
[EDIT]
I don't think your English is problem here. I also have done some search before publishing the article and did find some solutions which did not satisfy me, that's why I developed mine.
—SA