Helm: values vs ConfigMaps

When creating a deployment, specifically for a pod. I’m often when something should be a value (in values.yaml or overrides) or whether it should be in a ConfigMap. Things that can’t be values (e.g. files, secrets) are obvious but in many situations I’m scratching my head wondering should I put X in values.yaml or in a ConfigMap? I really don’t understand what is the formula/standard/best practice for using one over the other. I tried searching the internet but there are not many discussions about it so I’m wondering if it’s just obvious or maybe there’s just something I’m not getting.