Setting Nullable & enum property correctly in model snapshot and designe...

...r code
This is an interesting question because the code is a serialized form of the model and hence should include the correct types. But in this case the enum type likely comes from the application code, so including it could cause problems if the app code is changed. So maybe using the underlying type is the correct thing, but only if doing so has no impact on what Migrations will do. Also, this seems like a general problem for properties that are not well-known types, enum or not, so we should probably have a bug to track this.