I've recently posted about persisting custom values for enums( like "M" for SexType.Male) , on my blog and in the WIKI.
The code is using an external codebase (the D9 project). However it's BSD licensed so you can either just use it, or you can learn from the code and tailor something for your needs. And of course you can contribute your improvements to NH and/or D9