There are 7 ecological layers that should be represented in the game:
Each of these layers should be able to co-exist within a tile. Some plants take up multiple layers, at least on some of their tiles. Plants on a higher layer can prevent light from reaching plants on lower layers. This could be calculated as a percentage of available light being removed from the remaining light, repeated each layer down.
In the above concept art you can see several layers in action interacting with one another in a small 9 tile grid. In this example there are player-placed stepping stones taking up the groundcover layer on some tiles.