We now set FALSE when diff.renames = yes or diff.renames = on.  That doesn't match C Git, does it?

Fortunately getEnum almost does what you want, as it honors yes/on as aliases for true and no/off as aliases for false.  So maybe redefine it this way:

- add COPIES to RenameDetectionType
- use rc.getEnum("diff", null", "renames", RenameDetectionType.values())
- translate COPIES to always be COPY