A library for supporting enumerated types.