BUG: Replaced ValueError exception with TypeError exception in df.where() function
Replaced ValueError exception with TypeError as it is more appropriate for the error it serves

[] closes issue #56330  where there was a consensus that a TypeError is more appropriate for the following error: "Boolean array expected for the condition, not (non-bool type)". Since ValueErrors are raised when the type is correct but the value is incorrect, whereas in this function we are raising an exception because of a wrong type, hence the TypeError.

I've also included commits to update the tests for this method.

(I had already made this PR but messed up my commits because I'm new to GitHub so I'm redoing it).

You have to adjust one more test here: https://github.com/pandas-dev/pandas/blob/main/pandas/tests/series/indexing/test_where.py#L204 > You have to adjust one more test here: https://github.com/pandas-dev/pandas/blob/main/pandas/tests/series/indexing/test_where.py#L204

Thank you so much! Finally passed the checks! > Can you add a whatsnew entry in v2.20.rst?
@mroeschke I thought you just talking about adding up a new header whasnew will coming up with Updated version.
  
 Thanks @DarthKitten2130 