Playing card class, written using enums
Python is not Java (or C++, or ...). There is no need to have a getter and setter for every attribute.


Instead of calling card.modify_weight(new_suit_weight=3), you can just do card.suit_weight = 3, so that method is not needed at all.
Instead of calling card.get_suit(), just use card.suit, so all those get_* methods are superfluous.


The rest looks fine to me, except for the closing part of the docstring of Card, those """ should be indented the same distance the opening """ are.