I have created a blog about this.
Create a custom MVC Dropdownlist with custom option attributes and retain the validation.
https://jfvaleroso.medium.com/create-a-custom-mvc-dropdownlist-with-custom-option-attributes-and-retain-the-validation-4da8ee6e1255