No knows still?
I can try to answer.
I am not sure how your datamodel is constructed, but this is how I have it.
I have an entity called "Group", which has a "parent" (to one) and "children" (to many) relationship, with the inverse relationship set. To be clear, these two point to each other, it stays within this entity.
I have other entities, which are subclasses of the Group entity.
id parent = [NSEntityDescription insertNewObjectForEntityForName:groupEntityName inManagedObjectContext:moc];
id child = [NSEntityDescription insertNewObjectForEntityForName:childEntityName inManagedObjectContext:moc];
[parent addChildrenObject:child];
You could also move existing children into a parent node, by fetching them from the store.
First try to do this in code.
Drag and drop is a next step.