I'm not too familiar with Groovy, but I am familiar with Jython. May I ask why do you think Groovy is more attractive that Jython? One advantage of Jython that I can think of is that Python is very popular among the developer community and if you use Jython, you can leverage a lot of existing developer resources that may or may not exist with Groovy.
Regarding the actual mechanism in embedding a interpreter into your engine, what I found is that once you have a scripting engine, the possibilities are limitless in terms of what you can do with external scripts vs. what you can do in your codebase. As long as you pass the relevant objects to your scripts, the scripts can take over the entire execution of your game if you like.
I created an experiment just to explore this possibility a while back, is it called whalechat and you can find it at http://whalechat.com
. I have the vision of teaching computer programming using an online collaborative model within a 3D environment. When you launch the whalechat client, you can issue the "/editor" command which will bring up an editor for you to type in jython scripts, which is then uploaded to the server and executed in a shared environment.
The architecture that I went with is that I try to keep the core engine code as small as possible, with the engine focusing on the infrastructure stuff, and have the scripts handle all of the interaction logic etc. It works amazingly well and I managed to create a couple of mini-games inside the environment in this way. One such example is a little zombie game which you can access directly using the following URL:http://whalechat.com/webstart.php?room=zombie
The script to the entire game can be found at http://whalechat.com/asset_server/rooms/zombie
Maybe this will give you some ideas on what is possible.