おそらく、null列に何かを追加して、それらを一意にし、その上でグループ化する必要がありますか? UUID()の代わりに使用するある種のシーケンスを探していましたが、これでも同様に機能する可能性があります。
SELECT `table1`.*,
IFNULL(ancestor,UUID()) as unq_ancestor
GROUP_CONCAT(id SEPARATOR ',') AS `children_ids`
FROM `table1`
WHERE (enabled = 1)
GROUP BY unq_ancestor