In the first Fantastic Beasts film, the entire city if New York is obliviated with a rain storm to wipe the memories of all Muggles who were witness to the events that nearly destroyed the city.
Later, in The Crimes of Grindlewald, we learn that Jacob didn't have his memories erased because it only erased bad or unpleasant memories, of which Jacob appat had none from the events in New York.
How exactly does obliviating someone work? This detail about it only eliminating bad memories would seem to indicate that Hermione using the spell on her parents may not have taken, right? So are there different ways to cast the spell, or are there different kinds of obliviations? If not, then wouldn't the spell been ineffective on Hermione's parents unless any memories they had of here were actually unpleasant?