This section was redundant now that there is another section discussing the enumerable functionality.
This was a regression from 2.x where the ActiveRecord object was setting enum options on itself. Because these options were no longer available, there was no way to determine the associated enum if the value was nil or blank. This introduces a sort of null object that is just a subclass of the base enum that behaves like a nil or blank object.
Priority::Low.new == :low # => true Priority::Low.new == 'low' # => true
After removing ClassyEum.find from 3.0, I decided to implement it using Enumerable functionality for an API that is more consistent with Ruby.
Let's call it what it is