Вы говорите: «если вы сделаете поле Mandatory, вы больше не сможете выбирать первое значение Enum в списке через интерфейс пользователя» - это именно то, что свойство Mandatory делает для перечислений: не позволяет использовать нользначение.Например, если вы сделаете NoYesId
обязательным, вы сможете ввести только Yes
, потому что No
больше не будет разрешено - зачем вам это нужно в форме?
Обратите внимание, что отс точки зрения пользователя не обязательно ясно, какое значение перечисления равно нулю, поэтому, если оно не работает так, как работает, понимание того, какое значение не допускается, когда перечисление является обязательным, может быть сложным.