Moved around a few things and created two interfaces to use as strategy.
But I think it's time to start working on creating a proper goodtype list that is not enum. It is unfortunate but this is a very deep change that will need me to refactor tons of code, so good luck to me.