Вы, кажется, прикрепили атрибут к полю; атрибуты всегда привязаны к вещи next (в данном случае, к полю). Вам следует изменить порядок, чтобы они придерживались свойства вместо поля.
КСТАТИ; защищенные поля редко бывают полезными (они должны быть частными); но особенно если собственность публичная: какой смысл?
protected RegionEnum _Region;
[Category("Custom Properties")]
[DefaultValue(RegionEnum.None)]
[WebPartStorage(Storage.Shared)]
[FriendlyName("Region")]
[Description("Select a value from the dropdown list.")]
[Browsable(true)]
public RegionEnum Region
{
get { return _Region; }
set { _Region = value; }
}