The typeId should be declared as a VARBINARY in the SYSTEM.TABLE. I don't think there's any reason to restrict it to a CHAR or VARCHAR nor to restrict it's length. If necessary, this kind of check could be done at the Pliny layer. I think a more natural representation may just be as a short or int (potentially just retrieved from a sequence). 

Probably the same for tenantId, for that matter. It just gives the user more flexibility.