Not sure I would like to go with more custom categories, instead I think it would be more interesting to add ability to override default lists of configured tiles.
But... I have thought a bit about it, and I think the right way to sort it out would be to add a string setting for each existing category + one more string setting for a "none" category.
The code could then first apply default config, then iterate over comma-separated list of tiles in settings for each category and readjust the tiles.
Would this kind of thing help you? You could remove hazard tiles completely from config this way (setting it to "none" category), or lower their priority in this way.
Regarding the code you mentioned in the other thread, not sure how much you got into Factorio mod API and all of that, so if you need some clarifications, let me know. Looking at the code, maybe some optimisation would be needed to reduce number of calls, but... From what I can tell it should be safe to add the logic to the config.set_scores()
function