Hi Robert, and welcome to the community!
The DataMapper creates a unified data model. In other words, a data mapping configuration is usually used to read data from a particular set of related data streams and extract and store that data into a fixed structure. The data model for an invoice wouldn’t be the same as that of a collection letter, for instance.
So as you suggested, Workflow could be used to examine the data and then conditionally determine which data mapping configuration to call with any given data it captures. However, as you correctly surmised, this could quickly turn into a long series of conditions (or an elaborate script) that may be hard to maintain.
I think the best way to approach this would be to configure your ERP system so that it sends different kinds of data streams to different locations, each of these locations being monitored by a separate Workflow process.
For instance, you could create separate LPR print queues (e.g. invoices, letters) and when printing from the ERP, you’d tell your users to select the appropriate print queue where the document would be sent. If the ERP doesn’t output print streams but rather files (XML, JSON, PDF, etc.), then the dstination for those files could also be configured so that each type of file ends up in a specific folder.
This would nicely separate your Workflow processes.
Of course, that’s assuming you have some level of control over where your ERP system outputs its data.
Hope that helps a little, but feel free to add some more specific information to this post and we’ll try to steer you in the right direction.