One of my 'Problems' is too many ideas - I get to do about 1 in 500 of them and probably complete about 1 in 10000

Caterpillars is a cool idea though. I like it in that you actually want some caterpillars as they turn into butterflies for bonus points However too many would mean that you dont have enough flowers.... Its all a thing about balance.

I think the idea would be to have different sorts of enemies, Rabbits for example could eat the flowers and you need to make sure you chanse them away etc.

If you look at the City Building genre all actions in the game typically have an effect the gets added to all other effects on an area of the map. So in this way ants are a perfect enemy as you need to ensure that you have enough 'fighters' passing the flowers at all time to discourage ants from comining into the gardens.

My units currently consist of:
Fairies
Gnomes (Maintain the fairies homes)
Fighters (vs ants/caterpillars)
Maybe some utility units that bring other stuff to homes/gardens (Fertiliser etc)

My Buildings:
Flower Garden
Grass Pathway
Gnome Toalstool
Fighter Home
Possibly something like a water fountain to ensure water to the gardens
Home for the Utility Units

My Enemies:
Ants
Rabits
Caterpillars

Game Rules
Fairy Homes produce fairies. Only 1 to start with, if maintained by a gnome it produces 2 fairies, if the fairy home is supplied with water it produces 3 fairies and if it also gets 'fairy dust' it will produce 4 fairies.
A fairy home needs to be maintained by a gnome regularly. If a gnome does not pass the house within a 'minute' then the home decreases in size and the player loses a fairy.
A gnome lives in a toadstool. A toadstool produces 1 gnome unless supplied with '?' by a carrier then it will produce two gnomes.
A Carrier comes from a '?'. They move around picking up various items such as '?' and fairy dust (maybe they carry the water) which they drop off bit by bit as they walk around.
A 'fighter' comes from a '?' it always produces only 1 fighter. A fighter helps chase ants and rabbits away.
A 'fighter2' comes from a '?' it always produces only 1 'fighter2'. A 'fighter 2' chases a catterpillar away each time he passes a garden. If there are enough catterpillars in a garden he always chases the youngest one away. After 'X' time a caterpillar becomes a butterfly and gives bonus points (or a special once off ability/power up the player can use).
Each turn a garden will grow 'X' amount. 'X' is influenced by how often a fairy has walked past the garden and how much it has been damaged by enemies (possibly also how much 'F' a carrier has given the garden).

Actually sounds more and more fun as I build on the idea

Reiners tile sets have a few Cute building I could use for the Fighter and Carriers