add RichEnum