If you need dedicated layering of graphical entities and you already have a kind of an entity system, you can introduce the layering easily within the rendering.
I think you have already something like a "Transform" component for an entity that has the x/y axis position of the entity and also some other orientation information stored. just add a layer information there. This can be a simple number from 0 to 100 for example and defines the the layer on witch this entity has to paint to.
Then on the renderer or renderer system you can sort the entities within the layer and paint them in the right layering order. Or if you have a proper event system, you can simply fire render-events for every layer within layer order and the renderer system that receives this events paints the entities for that layer.
But this doesn't solve your problem right? because all the trees are probably on the same layer but the tree in the back should be rendered first, before the tree in the front. So what kind of perspective do you really have in your game? It seems like a tile map where the things painted in the upper rows are behind the things painted in the following rows.
Instead (or additional to) the layer information you can have a grid position information for sorting the entities on rendering to get the right order. Or maybe in your case it would be enough to just sort the entities to paint within the y-axis position.
The important thing for you is to think about the perspective your game should have or has and with what kind of sorting you can get the expected result on rendering.