moved INTERNAL_* constants to enum