Issue 6893 - Write of enum member represented with ubyte or ulong

The problem is that narrowing conversions of enum -> integral isn't allowed by std.conv. They should be allowed, and a runtime exception should be thrown if the enum value doesn't fit in the target type.