first class enum support