Instead of using "check (pooltype is null or (pooltype in ('Backup','Copy','Cloned','Archive','Migration')))..." we could have a table which contains those values:
pooltype text references pooltype(id); create table pooltype ( id text not null ); alter table pooltype add primary key(id);
This makes it easier to get lists for menus without changing the underlying code.
Thanks to David Fetter for this one.