how to override lookup with respect to enum value element.
Well, you're completely missing a condition saying that you want your custom logic only for transfer orders. But don't bother adding it, because the whole approach is wrong.
The standard logic already supports the scenario. It uses the plugin framework to create a specific class implementing CaseIAssociation intrerface and calling its performLookup() method. You just need to implement such a class for transfer orders.
For example, look at CustTransCaseAssociationProvider. Don't miss ExportMetadataAttribute - that's what tells the class factory which class should be used for a particular value CaseEntityType enum.