I don't have the time to actually do something for you (and as every modder says, finding your way through this on your own is much more rewarding

), but of course we can give you some pointers.
Would it be possible to split bonus tiles in to 3 types:
1) Mineral: Iron, Gold, Gems, Coal, Aluminium, Uranium etc.
2) Vegetable: Wheat, Sugar, Incense etc.
3) Animal: Elephants, Horses, Sheep etc.
Do you want this distinction to be relevant for anything else but for the new mechanic you describe below? Because then I'd say it's easier that the game doesn't "know" the difference, and you only tell it to your players.
The idea would be to enable organic resources to be 'planted' on or 'introduced' to an appropriate terrain type once a civilisation had access to:
A) that bonus resource
B) 'Agriculture' or 'Animal Husbandry' respectively
So you want a new worker option that creates resources? Since without modifying the display, all possible worker actions are made up of improvements, I suggest adding a dummy improvement for every resource you want to creatable (say, if you want your workers to be able to plant wheat, create IMPROVEMENT_WHEAT, for example). This improvement doesn't need to do anything, and doesn't need graphics, although I guess a button that resembles the resource it creates would make sense.
Then you can use Python's onImprovementBuilt (or similar, not completely sure) method to do the following:
- remove the dummy improvement from the plot
- place the associated bonus on the plot
Perhaps organic resources could also be:
- piliaged for a 1 time bonus to food/production
- razed to hurt oponents (re: Buffalo Bill & the american indians)
- spontaneously generated (based on proximity to a 'parent' bonus resource)
1 or 2 are a little complicated as I realize now, because the pillage button becomes only available when there's an improvement on the plot, but not for resources. Either you go to the lengths of creating a Python action button for this (might be too complicated for beginners), or leave the invisible dummy improvements in place so they can be "pillaged" (with clever text choices you might be able to make it look as if it's the resource that's targeted). Then you can handle the removal of the resource and other effects (like extra food) in the onImprovementPillaged method in Python.
It's a little easier if it's only intended for workers, because then you could go via dummy improvements again, for example HARVEST_ALL_CEREALS can be built on wheat, rice, corn and you handle the removal of these resources and the food bonus in onImprovementBuilt again.
The implementation of 3 in Python depends on how you want it to work exactly. For example, if you want to have a chance of 10% per turn that a random resource on the map "spreads" you could use the "onBeginGameTurn" method.