Simplify code by using __init__ instead of __new__
Raise ValueError explicitly from __call__ rather than with super()

because super() would make another lookup, but we already know the value isn't there.
Improve doc for MultivalueEnum.
StrEnum and tests.
CasInsensitiveStrEnum and tests.
Merge branch 'StrEnum'