Hi Juan, we are adding that to the docs right now so stay tuned.
To answer your question, the two method just give you more control on how to handle group management in your implementation. If you have a lookup of your groups based only on the userId, then in your impl all you would do is call the getGroupsForUser method passing in the userId, ommitting the groups, or the list of all available groups present.
Take a look at the default impl example here: https://github.com/droolsjbpm/jbpm/blob/master/jbpm-human-task/src/main/java/org/jbpm/task/service/DefaultUserGroupCallbackImpl.java
Hope this helps.