sorry, here it is 
[code]
using System.IO;
using System.ComponentModel;
using System.Reflection;
namespace EnumTest
{
#region TestClass
public class ComponentTest : System.ComponentModel.Component
{
[TypeConverter(typeof(MyFamilyMembersTypeConverter))]
public enum MyFamilyMembers : int
{
Gary = 0,
Leslie,
Andy,
Mark,
Carrie,
Rachel
}
private const MyFamilyMembers m_DEFAULT = MyFamilyMembers.Rachel;
public ComponentTest()
{
base.New();
}
private MyFamilyMembers m_MyFamilyMember = GetDefaultMyFamilyMember();
[DefaultValue(m_DEFAULT)]
public MyFamilyMembers MyFamilyMember {
get {
return m_MyFamilyMember;
}
set {
m_MyFamilyMember = Value;
}
}
internal void ResetMyFamilyMember()
{
this.MyFamilyMember = GetDefaultMyFamilyMember();
}
internal bool ShouldSerializeMyFamilyMember()
{
return this.MyFamilyMember != GetDefaultMyFamilyMember;
}
private MyFamilyMembers GetDefaultMyFamilyMember()
{
return m_DEFAULT;
}
}
#endregion
#region TypeConverter
public class MyFamilyMembersTypeConverter : EnumConverter
{
public MyFamilyMembersTypeConverter()
{
base.New(typeof(ComponentTest.MyFamilyMembers));
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
{
if (value is string) {
return Enum.Parse(typeof(ComponentTest.MyFamilyMembers), value, true);
}
return base.ConvertFrom(context, culture, value);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(string)) {
return Enum.GetName(typeof(ComponentTest.MyFamilyMembers), value);
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
#endregion
}
[/code]