A few improvements to enum
Added benchmarking