Måske skulle du tilføje noget til nul-kolonnerne for at gøre dem unikke og gruppere på det? Jeg ledte efter en slags sekvens at bruge i stedet for UUID(), men det kunne måske lige så godt fungere.
SELECT `table1`.*,
IFNULL(ancestor,UUID()) as unq_ancestor
GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1`
WHERE (enabled = 1)
GROUP BY unq_ancestor