@BetterRed: that is a clever way to clean up the tags.

I would have used Search/Replace.
@BetterRed & @Rellwood: It looks like what is desired is a column per purpose where that column can contain at most one value. The purposes listed are source, location, and status. If I am right then it seems to me that the columns should be "Text with a fixed set of values" with appropriate values, and that they should be populated using bulk metadata edit. One way to populate them that is somewhat repetitive but straight forward would be:
- Search for one of the tags to move.
- Select all books found by the search.
- Open bulk metadata edit (normally E)
- Enter the tag searched for into "Tags to delete".
- If using columns with a fixed set of values, select the correct value in the custom column. If using plain text columns, enter the tag searched for into the column.
- Press OK. That tag will be moved.
- Repeat from step 1 for each tag.
Of course the above could be done in two steps per tag category (move then delete) using Search/Replace, but doing so would require using a rather fancy regexp as the search pattern.