2.0 Enumerator#size compatibility enhancements

Update enum constructors for 2.0, and ensure in a number of cases that
we keep the size when we enumeratorize (note: there's still a number
of other enumeratorize calls which will be addressed in a later commit)
Merge pull request #1039 from dmarcotte/2.0-enum-size

2.0 Enumerator#size compatibility enhancements