add grouping candidate
add intersection between each grouping candidate
add function to write grouping candidate to file system
seperate enum file