Creating a field alias should be simple enough in props.conf:
FIELDALIAS-category = threat_category as category
But depending on how the original category fields are created, I'm not sure if this will overwrite it OR will it overwrite this. Or the threat_category field may not even exist yet when this alias is called.
Do you know how those fields are created? Are they extractions, evals, lookups etc? That will probably drive the approach you have to take, including if you want to keep the original category value around in some other field.
See the doc below which describes the search time operation sequence