The way i see it you have several options here:
1) Turn off annotational support for transactions and specify the classes to be used for each transaction manager. Using aop and tx declarative transaction definition. (If it is difficult to segrated classes into groups using different transaction managers this could be nightmarish configuration)
2) Just use the persistenceUnit="gis" and duplicated gis into each transactional annotation so @Transactional("gis") and add a qualifier element to your transactionManager <qualifier value="gis" /> to pick up this transaction manager for these entities.
3) Add an additional configuration parameter transactionManager="gisTransactionManager" which references the correct transaction manager by name.
Personally I quite like option 2.