With this input parameter:

    fci__rf: [FailsVendorQualityCheck, BadMate, UnmappedRead, BadCigar]

I would like this:
    
    read_filters:
      type: string[]
      inputBinding:
        prefix: --read_filter

To result in this:

    java
    -jar GenomeAnalysisTK.jar
    -T
    FindCoveredIntervals
    --input_file
    sample.bam
    --reference_sequence ref.fasta
    --read_filter FailsVendorQualityCheck
    --read_filter BadMate
    --read_filter UnmappedRead
    --read_filter BadCigar 

Do I need to use `shellQuote`? Or perhaps I need to use a string input instead of an array?
Please check out this page http://www.commonwl.org/user_guide/09-array-inputs/

In your case this definition will do the job:

    inputs:
      read_filters:
        type:
          type: array
          items: string
          inputBinding:
            prefix: --read_filter
        inputBinding:
          position: 1