Best way to migrate text field to taxonomy reference field
I would:


Go thorough all values, grouping them by their Levenshtein distance from each other.
For all set of similar names, I would choose canonical one, and put them in taxonomy as a term. 
Using Computed Field or VBO I would choose the Levenshtein closest term for each node.


Details of implementation would need a bit of polishing, but that's my general approach. Apparently you can use Views Bulk Operations both to create taxonomy terms and to set field's value on node.