Should you create separate tables for fixed options for a column? As shown below, in multiple places in my DB Design I am creating tables for "options" if you will. Example, RFP Stages. Which would hold things like "Complete", "Bidding", etc. 

I'm doing this because it was recommended to me at one point in a question that was deleted. Is this the proper way to do this? Or should I just store these options as text, given there is only 5 or so possibilities?
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.