Its perfectly legal to declare a enum inside a class and just like any other class memeber,you can assign any access control to the enum once declared inside a class. However if you declare enum outside the class then you can have only two access controls possisble public or default. Hope this were you got confused. Thanks Deepak