Should you create separate tables for fixed options for a column?
If I interpret your question correct. I think you have at least 4 alternatives.


ENUM https://www.postgresql.org/docs/current/datatype-enum.html
Table lookup
Local lookup
Plain Text


Personally I prefer table lookup with id and name. You store only the ID. So you have to join tables when fetching. It is easier to add or delete options. And it is easier to search for status 1. And the footprint will be smaller.