Hey, you lucky person, you, you're using XP! That makes this much easier, because of those wonders of programming called Terrain Tags.
Here's a way to have your enemies change depending on what kind of tile you stand on.
First, go to the Tilesets section of the Database.
Pick out some tiles that ought to have different enemies than usual.
Go to Terrain Tags-- it's there on the right.
Now change the Terrain Tags to a number other than '0', such as '1', for any tiles that you wish to have different enemies on them.
Next, you're going to make a slightly-more-complex Troop for the map that uses that tileset.
Bring all the enemies that you might possibly encounter onto the troop. (Actually, that would be pretty crowded, so I usually make three or four different troops for that map, but you get the idea.)
Set
every single opponent to 'Appear Halfway.'
Then make a battle event on Turn 0 that checks the player's Terrain Tag, and brings in only the enemies that would appear on that kind of Terrain.
In case that's not clear, here's a screenshot, from my current project:
When the player is on the road, they have a terrain tag of 1, and so if they meet this group, they meet the spiders. If they aren't, then they'll meet the ogre.
See? Simple enough.