In retrospettiva questo è stato un errore davvero stupido ma difficile da individuare. Values è una parola chiave in sql, quindi i valori del nome della tabella necessitano di virgolette.
def __insert_values(self, values):
cursor = self.connection.cursor()
cursor.executemany("""
insert into `values` (ensg, value, sampleid)
values (%s, %s, %s)""", values)
cursor.close()