I still don't understand the error message that is being created ... I'll leave that 'til tomorrow.
However, if you want to use custom directories for your grooves the simplest and error proof (and recommended) is to:
- Create a directory with your grooves. We'll just call it "grooves" for now. It can be anywhere.
- I'm assuming that you have a groove file "grooves/samba" and it defines a "mysamba" groove.
- To use it, use extended notation:
Groove grooves/samba:mysamba
Now, so long as "grooves" is in the current directory this will work. If you have moved to a different location, just extend the path notation. And if you want to really "cool" you can always set the path name in a macro defined in an init file

Just to confuse a bit more: the env variable MMA_LIBPATH can also be used on the command line. In this case the list of directories are INSERTED into the existing setting.
I hope this is helpful. And, yes, I know: Figure out the stupid error message!!!!!
Do NOT do a "mma -g". It will just confuse things

Also note that ALL the grooves defined in the file "mysamba" will be brought into the compile session. So (assuming the file contains "mysamba1", "mysamba2" and even "foobar" you can now enable these with simple groove commands.
For future readers: This is detailed in the Extended Groove Notation section of the find manual.