Some methods specified struct as their generic constraint, while other methods use Enum. IIRC Enum wasn't supported as a generic constraint in earlier versions of C# (or .NET), which was why struct was used instead.
Changing these should probably be considered a breaking change, which I why I haven't replaced struct with Enum yet. But since v1.2.0 is a new new major minor release, it feels like a good time to fix this.