One option that you have is to do the following after the data is populated and the columns are automatically generated:
  1. Get the index of the Fly column in relation to the DataGridView's columns
  2. Create a new DataGridViewCheckBoxColumn using the same properties of the Fly column
  3. Specify the ThreeState property of the newly created DataGridViewCheckBoxColumn
  4. Remove the Fly column by its index
  5. Insert the newly created DataGridViewCheckBoxColumn at the same index where Fly was