As you point out, the CSV Formatter does not have the Binary Header or Content properties like the JSON Formatter. As an alternative, you can pass the category groups into a child pipeline and do the processing there. Using a child pipeline allows you to specify the file name through a pipeline parameter that is referenced in the File Writer. The child pipeline should consist of the following snaps:
The splitter will break apart the category groups into individual documents again, which is what the CSV Formatter is expecting. The File Writer is then configured to write to a file using a file name from a pipeline parameter.
In the parent pipeline, replace the JSON Formatter/File Writer with a Pipeline Execute snap that calls the child pipeline and passes the file name in a pipeline parameter.