Se você tem o controle sobre os jogos de dados diferentes, você deve fazê-los executar uma relação comum que as classes de TypeConvertor possam prover. As classes de TypeConvertor proveriam então os métodos/propriedades da relação e daqui poderiam compreender todo o soruce dos dados que executasse a relação relevante.