changed most enum getter to protected