I am showing an enum as dropdown list in my Edit view like this:
Inside Model
public enum PaymentType
{
    Self=1,
    Insurer=2,
    PrivateCompany=3
}
public PaymentType PaymentTypeSelected { get; set; }
Inside Controller
ViewBag.EnumList = Patient.PaymentType.Insurer.ToSelectList();
patient.PaymentTypeSelected=Patient.PaymentType.Insurer;
In View
@Html.DropDownListFor(m => m.PaymentTypeSelected, 
    ViewBag.EnumList as SelectList)
And an Extension Function
public static System.Web.Mvc.SelectList ToSelectList<TEnum>(this TEnum obj)
        where TEnum : struct, IComparable, IFormattable, IConvertible
{
    return new SelectList(Enum.GetValues(typeof(TEnum)).OfType<Enum>()
        .Select(x => new SelectListItem
        {
           Text = Enum.GetName(typeof(TEnum), x),
           Value = (Convert.ToInt32(x)).ToString()
        }), "Value", "Text");
    }
Generated HTML
<select data-val="true" 
        data-val-required="The PaymentTypeSelected field is required."
        id="ptype" name="PaymentTypeSelected">
    <option value="1">Self</option>
    <option value="2">Insurer</option>
    <option value="3">PrivateCompany</option>
</select>
It all looks okay to me, but the dropdown does not show default selected value (in my case Insurer). Can any one point out what I am doing wrong here?
 
     
     
     
    