supports defining enumerized scopes on abstract class

closes #68